Resist Debuggers

SoftwareShield System Feature Guide > Tamper Resistance > Resist Debuggers

## Resist Debuggers

This feature is not compatible with IronWrapping. This is because IronWrapping provides this functionality by default and the mechanism conflicts with the IronWrapping engine. The License Manager will prevent you from selecting this option and IronWrapping at the same time.

If you are not using IronWrapping, you should also already be familiar with our Non-IronWrapping Anti-Hacker Guide. If not please read it before reading this section.

Resist Debuggers is an option that you can set in your licenses that specifically causes the ClientProtector, during the scope of many of its function calls, to attempt to detect if any kernel mode debuggers are attached to the (your) process. This is a protection mechanism that resists attempts to watch your program with a debugger. This is almost always an attack by a cracker.

If detected, the entire process is immediately terminated with a non-orderly shutdown. The function call from your program that indirectly caused a successful detection of a debugger will never return.

Before setting this option, you should consider whether your user will typically be a software developer that has a legitimate need for attempting to debug your program. If you enable detection of debuggers, then your license will prevent your application from running when a debugger is attached.

Generally, most users have no need for debugging your program, so you are fairly safe enabling this option.

However, be sure that during development, you keep this flag turned off since you will probably be unable to debug your own software. If it is on, when your debugger (in your IDE for example attaches to the running process), as soon as the ClientProtector detects this, it will immediately cause the entire process to simply shut-down.

If you choose to use this option, simply make sure that the very last thing you do before distributing the license is to turn it on, re-compile and test (outside of the IDE).

Note that this method is only an effective defense on Windows NT, 2000 and XP.

### More Information

For help on how to make your program more secure, see the Non-IronWrapping Anti-Hacker Guide in the Developing Applications Using The SoftwareShield System Reference.

For help on actually setting the Resist Debuggers option, see License Behaviour Tab in the SoftwareShield License Manager Reference.